R语言 |
您所在的位置:网站首页 › time inc › R语言 |
前面的视频我们了解了关于生存分析的KM曲线和log-rank检验,Cox回归的多因素生存分析,以及如何评估Cox模型假设有效性。在建立了cox回归模型之后,如何把模型展示出来,这就需要用到“列线图”。列线图,也叫nomogram图,是一种直观有效地展示Cox回归结果的一种方法。我们今天就来了解一下列线图。 关于列线图(Nomogram)1. 列线图长什么样子?下面就是列线图的样子: 最左边的给出了一些变量名称,包括:points(评分),age(年龄),sex(性别),ECG(心电图),Total Points(总分),Risk(风险)。每个变量名右侧都有一条标有数值的直线轴,代表不同的评分或概率。 2. 怎么看这个图?就那上图来说。我们想知道年龄45岁 (age=45) 的女性(sex=1)的患病风险,只需要将age=45岁向“ points(评分)”轴投射,则:points=50;同理 sex=1 时,points≈37。两者相加则“ Total points=87”;将此数值在“ Total points ”轴上向“ Risk ”概率轴投射,则可知风险大概在0.4和0.5之间。(参见图中红线) 如何制作列线图下面我们看看如何通过R语言来绘制列线图。 1. 载入R包我们打开Rstudio后,首先载入要用到的R包,如果没有安装的话,记得先安装。 2. 载入数据今天我们用到的数据是survival程序包的lung数据: data("lung") head(lung) 载入后我们看一下这个数据集: 在这个书籍中我们可以添加变量标签以便后续说明 这里,1 = male ,2 = female。 3. 数据打包按照nomogrm()函数的要求,需要先“打包”数据,这是绘制列线图的关键步骤。"打包"用到的是datadist()函数, 该函数计算预测器的统计摘要,以自动估计和绘制效果。用户通常将最终的数据框提供给datadist()函数,并使用options函数设置数据分布。注意,如果修改数据框中的数据,则需要使用datadist()函数重置分布摘要。在R中输入: ??datadist可以查看详细说明。 4. 构建Cox模型 这里我们用 cph()函数来拟合Cox比例风险回归模型, 你也可以尝试使用 coxph()函数来拟合,自己可以尝试一下。 5. 构建生存函数 6. 绘图:预测中位生存时间 生成的图像是这样的,注意图的最下一行是“ Median Survival Time(中位生存时间)”。 7. 绘图:预测生存概率这里要注意的是,lung数据的“time”是以“天”为单位。 生成的图像是这样的,注意图的最下一行是“ 1-year Survival Probability(1年生存率)”和“2-year Survival Probability(2年生存率)”。 评价COX回归的预测效果我们主要计算“ C-index ”即C-指数和绘制矫正曲线,来对Cox回归的预测效果进行评价。 1. 计算C-指数Somers' Rank Correlation for Censored Data Response variable:Surv(time, status) C Dxy aDxy SD Z P n predict(res.cox) 0.397 -0.206 0.206 0.051 4.03 1e-04 228 2. 绘制校正曲线这里对参数做一些说明: 绘制校正曲线前需要在模型函数中添加参数x=T, y=T,详细参考帮助 u需要与之前模型中定义好的time.inc一致,即365或730; m要根据样本量来确定,由于标准曲线一般将所有样本分为3组(在图中显示3个点) m代表每组的样本量数,因此m*3应该等于或近似等于样本量; b代表最大再抽样的样本量 重新调整模型函数res.cox2这里是加上了x=T, y=T,time.inc = 365三个参数: 构建校正曲线 通过??rms::calibrate查看详细参数说明 绘制校正曲线 生成的校准曲线图是这样的: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |